package com.moyun.model.param.system;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.moyun.common.validation.SysUserModifyGroup;
import com.moyun.model.common.CommonFieldEntity;
import com.moyun.model.po.org.SysOrgRoleEntity;
import lombok.Data;
import lombok.experimental.Accessors;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;

import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.sql.Blob;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;

/**
 * <p>
 * 用户表
 * </p>
 *
 * @author yangboxuan
 * @since 2021-07-01
 */

@Data
@Slf4j
public class SysUserEntityParam {

    private static final long serialVersionUID = 1L;

    /**
     * 用户ID
     */
    @NotEmpty(groups = {SysUserModifyGroup.class},message = "用户id不能为空")
    private String id;

    /**
     * 用户名
     */
    @NotEmpty(message = "登录用户名不能为空")
    private String userName;

    /**
     * 密码
     */
    private String userPassword;

    /**
     * 邮箱
     */
    private String userEmail;

    /**
     * 简介
     */
    private String userInfo;

    /**
     * 头像
     */
    private Blob headImg;

    /**
     * 用户是否可用
     */
    private Integer enable;

}
